//#define _CRT_SECURE_NO_WARNINGS
//#include<stdio.h>
//long long solve(long long n) {
//    /*********Begin*********/
//    long long a = 1;
//    for (int i = 1; i <= n; i++)
//    {
//        a = a * i;
//    }
//    return a;
//
//    /*********End**********/
//}
//int main(void)
//{
//    long long n;
//    scanf("%lld", &n);
//    long long ans = 0;
//    for (long long i = 1; i <= n; i++)
//        ans += solve(i);
//    printf("%lld", ans);
//    return 0;
//}
//#include<stdio.h>
//void solve(int n) {
//    printf("%d", n % 10);
//    /*********Begin*********/
//    n = n / 10;
//    /*********End**********/
//    if (n > 0) solve(n);
//}
//int main(void)
//{
//    int n;
//    scanf("%d", &n);
//    solve(n);
//    return 0;
//}
//#include<stdio.h>
//void solve(int n) {
//    int temp = n % 10;
//    /*********Begin*********/
//    n = n / 10;
//    if (n)
//    {
//        solve(n);
//    }
//
//    /*********End**********/
//    if (n)
//        printf(" %d", temp);
//    else
//        printf("%d", temp);
//
//
//}
//int main(void)
//{
//    int n;
//    scanf("%d", &n);
//    solve(n);
//    return 0;
//}
//#include<stdio.h>
//int Acm(int m, int n) {
//    if (m == 0 && n > 0)
//        /*********Begin*********/
//        return n + 1;
//    /*********End**********/
//    else if (n == 0 && m > 0)
//        /*********Begin*********/
//        return Acm(m - 1, 1);
//    /*********End**********/
//    else
//        /*********Begin*********/
//        return Acm(m - 1, Acm(m, n - 1));
//    /*********End**********/
//}
//int main(void)
//{
//    int m, n;
//    scanf("%d%d", &m, &n);
//    printf("%d", Acm(m, n));
//    return 0;
//}

